#ifndef __p_climb__
#define __p_climb__
if(token.Matches(_("p_climb"))&&(T.GetCount()==5))
{
    IsNotExtFunc = false;

    uint MC = uint(calc(T[0]));   //Base line chain
    double r = calc(T[1]);
    double a = calc(T[2]);
    double z = calc(T[3]);
    double ap= calc(T[4]);

    if(C[MC].Z.ME.size()==0){ERR << _("no chamfer Z image found in p_climb");break;}
    if(ap<=0){ERR << _("NO CUTTING ap zero or up?\n");break;}

    //Offset test
    while(true)
    {
        a=a-ap;
        if(a<z)a=z;
        mChain BW = C[MC].Offset( GetToolOffset(a,&SIM.T[tNum],&C[MC].Z));

        CODE << BW.CTG(r,a);

        if(a<=z)break;
        if(a>=r)break;
    }
    continue;
}
#endif
